#include<stdio.h>
typedef unsigned char *byte_pointer;

void show_bytes(byte_pointer start, size_t len){

size_t i;

for(i=0;i<len;i++)

printf("%.2x",start[i]);

printf("\n");

}



void show_int(int x){

show_bytes((byte_pointer) &x,sizeof(int));

}



void show_float(float x){

show_bytes((byte_pointer) &x,sizeof(float));

}



void show_pointer(void *x){

show_bytes((byte_pointer) &x,sizeof(void *));

}
int main(){
int i = 0x11223344;
int val;

//printf("input val:");

//scanf("%d",&val);
val=i;
int ival=val;

float fval=(float) ival;

int *pval=&ival;

show_int(ival);

show_float(fval);

show_pointer(pval);
char *inp;
inp=(char*)&i;
if(*inp==0x44){
printf("my pc is little endian\n");
}
else{
printf("my pc is big endian\n");
}
return 0;
}
